2. JavaScript

Introducción a JavaScript

JavaScript es uno de los lenguajes de programación más importantes en el desarrollo web. Originalmente diseñado para añadir interactividad a las páginas web, ha evolucionado para convertirse en un lenguaje versátil que no solo se ejecuta en los navegadores, sino también en servidores y muchas otras plataformas. En este apartado, desglosaremos los conceptos clave y las partes más importantes que todo desarrollador debe conocer para trabajar eficazmente con JavaScript.


1. ¿Qué es JavaScript?

JavaScript es un lenguaje de programación interpretado y dinámico que se ejecuta directamente en el navegador del usuario. Es uno de los tres lenguajes esenciales de la web, junto con HTML (que estructura el contenido) y CSS (que estiliza la apariencia).

A diferencia de HTML y CSS, que son lenguajes descriptivos, JavaScript permite la creación de comportamientos interactivos en las páginas web, como responder a eventos de usuario, manipular elementos del DOM y realizar peticiones a servidores en segundo plano sin necesidad de recargar la página (Ajax).

2. Partes esenciales de JavaScript

2.1. Variables y Tipos de Datos

Las variables son contenedores que almacenan información que puede cambiar durante la ejecución de un programa. En JavaScript, hay tres formas principales de declarar variables:

Ejemplo:

let nombre = "Juan";
const edad = 25;
var ciudad = "Madrid";

Tipos de datos en JavaScript:

2.2. Operadores

Los operadores permiten realizar operaciones matemáticas, comparar valores, o realizar operaciones lógicas. Algunos operadores comunes incluyen:

Ejemplo de operador aritmético y de comparación:

let a = 5;
let b = 10;
let suma = a + b; // 15
console.log(a < b); // true

2.3. Estructuras de Control

Las estructuras de control permiten modificar el flujo de ejecución de un programa en función de ciertas condiciones.

2.4. Funciones

Las funciones son bloques reutilizables de código que ejecutan una tarea específica. Pueden recibir parámetros y devolver un valor. Existen diversas formas de declarar funciones en JavaScript:

Las funciones son fundamentales porque permiten la modularidad y reutilización del código.

2.5. Objetos y Arrays

JavaScript es un lenguaje orientado a objetos, y los objetos son fundamentales para organizar datos complejos.

2.6. Eventos

JavaScript permite que las páginas web respondan a eventos como clics, teclas presionadas, o el desplazamiento del mouse. Esto se hace posible con el uso de listeners de eventos, lo cual proporciona interactividad a las páginas web.

Ejemplo de un listener de eventos:

document.getElementById("miBoton").addEventListener("click", function() {
  alert("Has hecho clic en el botón");
});

2.7. Manipulación del DOM

El DOM (Document Object Model) es una representación de la estructura HTML de una página. JavaScript puede interactuar con el DOM para cambiar el contenido, estilos y estructura de una página web de forma dinámica.

Ejemplo:

document.getElementById("titulo").textContent = "Nuevo Título";

Con este código, podemos cambiar el texto de un elemento con el id="titulo".

2.8. Asincronía y Promesas

JavaScript es un lenguaje asincrónico, lo que significa que puede realizar operaciones sin bloquear el flujo del programa. Esto es especialmente útil al interactuar con APIs o al realizar operaciones como la carga de datos desde un servidor.

2.9. Async/Await

Para hacer el manejo de asincronía más intuitivo, ES8 introdujo las palabras clave async y await, que permiten escribir código asincrónico de manera más clara y secuencial.

Ejemplo:

async function obtenerDatos() {
  let respuesta = await fetch('https://fakestoreapi.com/products');
  let datos = await respuesta.json();
  console.log(datos);
}

Conclusión

JavaScript es un lenguaje versátil y esencial para el desarrollo web moderno. Desde la manipulación del DOM hasta el manejo de eventos y asincronía, JavaScript permite a los desarrolladores crear experiencias web interactivas y dinámicas. Entender sus partes esenciales te permitirá construir aplicaciones web más eficientes y enriquecedoras.